草庐IT

c++ - Qt(5) : Render same video on 2 different surfaces using QtMultimedia

我正在Qt(5)中开发一个应用程序,基本上我正在尝试使用QtMultimedia5将相同的视频源渲染到我窗口中的2个位置。我在QML中执行此操作,但如果有C++中的解决方案,我会很乐意改为实现它。我可以在窗口中显示视频。当我尝试使用相同的QMediaSource但将其渲染到2个窗口/控件时,问题就开始了。我看到正在发生的事情是QMediaService::requestControl被调用,它返回一个QVideoRendererControl对象。然后调用QVideoRendererControl::setSurface来设置它渲染视频的表面。因此,据我所知,QMediaService

c++ - 无限Qt动画(不指定持续时间)

我正在使用C++和Qt开发BlockBreaker克隆,我想知道如何为球的运动创建无限(或无界)动画。我应该坚持使用动画框架(通过子类化QAbstractAnimation),还是考虑创建和管理新线程来处理动画?一些有经验的指导会很有帮助,谢谢。 最佳答案 所以最后我弄明白了:使用QPropertyAnimation::setLoopCount(-1)成员函数使动画永远运行,直到被QPropertyAnimation::stop()停止>信号... 关于c++-无限Qt动画(不指定持续时

c++ - 获取 QT 代码的纯 C++ 实现

我试图弄清楚这段代码在没有任何依赖性的情况下如何像普通C++一样,所以我使用了moc编译器,但显然我错了。moc总是返回main.cpp:0:Note:Norelevantclassesfound.Nooutputgenerated.代码是#include#include#includeclassMyButton:publicQWidget{public:MyButton(QWidget*parent=0);};MyButton::MyButton(QWidget*parent):QWidget(parent){QPushButton*quit=newQPushButton("Quit

c++ - Qt5 在 QtQuick2 中使用 QWidget

Qt5和QtQuick2的组合存在一些问题。每当您想使用许多基于QWidget的类中的一些时,您首先会遇到以下问题:您应该使用QApplication而不是Qt5的QGuiApplication。那么这很容易改变,对吧?所以现在我正在使用QApplication但每当我尝试使用基于QWidget的类时我的程序要么崩溃要么导致一些无意义的错误消息。那么我应该如何将旧的QWidgets与Qt5一起使用?我知道它们不是Qt5的最佳解决方案,但它们非常有用...附言我正在Linux中为所有平台开发我的应用程序。我还使用自动生成的QtQuick2ApplicationViewer类来呈现基于Qt

c++ - Qt的foreach表达式需要深拷贝?

我在使用Qt的foreach函数时遇到了一些问题。我有一个Phrase类,它是QList的一个子类。在~Phrase中,我删除了所有GlossItem指针。在遍历Phrase中的GlossItem指针时,我想使用Qt的foreach://phraseisapointertoaPhraseobject,//whichisasubclassedQListforeach(GlossItem*glossItem,*phrase){//useglossItem}出于某种原因,foreach正在对Phrase执行深度复制(我知道这一点,因为它需要我实现复制构造函数)。但是,如果有Phrase的拷贝

c++ - 在 Qt 应用程序中单击按钮时在外部浏览器上打开 url

我的应用程序应包含一个按钮,当您单击该按钮时,应打开一个外部浏览器这是我的代码voidLogindialog::on_inscriptionPushButton_clicked(){QDesktopServices::openUrl(QUrl("http://www.google.com",QUrl::TolerantMode));}但是当我编译时我得到了这个错误列表错误:嵌套名称说明符中使用了不完整类型“QUrl”错误:不完整类型“类QUrl”的无效使用错误:“类QUrl”的前向声明 最佳答案 您忘记包含QUrl,因为只存在前向声

为什么Cmake在QT创建者中过早结束?

我是QTCreator的新手,想将现有的CMAKE项目导入其中。我将cmakelists.txt文件作为一个项目加载,并且在运行cmake后,它像我希望的那样找到了我的文件。但是,当它构建时,它似乎在一秒钟后过早结束。这是日志:17:11:46:RunningstepsforprojectMy-GUI...17:11:46:Starting:"C:\ProgramFiles\JetBrains\CLion2017.1.3\bin\cmake\bin\cmake.exe"--build.--targetclean17:11:46:Starting:"C:\ProgramFiles\JetBrai

c++ - QT - QInputDialog 如何验证?

我想向我的QInputDialog添加某种类型的验证。我使用对话框的输入来创建文件系统路径。所以我想排除@$#%^&*()之类的字符,但保留-和_。我正在考虑应用正则表达式模式,但不确定工作流程。如果它不可能或者使用不同的东西是有意义的,我也愿意接受。这是我目前使用的:QStringdefaultText("whatever");boolok;QStringcaseInput=QInputDialog::getText(this,tr("InputText"),tr("NewText:"),QLineEdit::Normal,defaultText,&ok);if(ok&&!caseI

c++ - 包含在 Qt Creator 中添加外部库的路径?

我正在尝试将预编译(MSVC2012)OpenCV静态库包含到QtCreator中,但我不确定包含路径是关于这张图片的:这是我下载的预编译OpenCV文件的图像:有3个目录:bin包含DLL,lib包含小的lib文件(2kb)以便QtCreator可以理解DLL,staticlib包含大的lib文件(1mb),它们是我正在尝试的静态库链接反对。库文件/路径类似于C:\opencv\build\x86\vc11\staticlib\opencv_features2d247d.lib,对吧?大约有50个lib文件。我必须手动对每一个进行操作吗? 最佳答案

c++ - Qt5 : error: 'WA_LockPortraitOrientation' is not a member of 'Qt'

我正在尝试将Qt4/Symbian项目编译为Qt5,同时保留对Qt4/Symbian的支持。目前MainWindow::setOrientation自动生成的样板函数给我带来了麻烦。它给我这些编译器错误:error:'WA_LockPortraitOrientation'isnotamemberof'Qt'error:'WA_LockLandscapeOrientation'isnotamemberof'Qt'error:'WA_AutoOrientation'isnotamemberof'Qt' 最佳答案 是的,正如您自己所说,这